#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>

int main()
{
    int fd = open("log.txt",O_RDONLY);

    char str[64];
    read(fd,str,sizeof(str));
    printf("%s\n",str);

    close(fd);
    return 0;
}
//
//int main()
//{
//    umask(0); 
//    int fd = open("log.txt",O_WRONLY|O_CREAT,0666);
//
//    char str[] = "hello write\n";
//    write(fd,str,strlen(str));
//    close(fd);
//    return 0;
//}
//
//
//#define ONE 1
//#define TWO 2
//#define THR 4
//
//void BitMap(int flags)
//{
//    if(flags & ONE) printf("ONE\n");
//    if(flags & TWO) printf("TWO\n");
//    if(flags & THR) printf("THR\n");
//}
//
//int main()
//{
//
//    BitMap(ONE);
//    printf("---------------------\n");
//    BitMap(TWO); 
//    printf("---------------------\n");
//    BitMap(THR);
//    printf("---------------------\n");
//    BitMap(ONE|THR);
//    printf("---------------------\n");
//    BitMap(ONE|TWO|THR);
//    printf("---------------------\n");
//    return 0;
//}
//
//int main()
//{
//
//    FILE* pf = fopen("log.txt","r");
//    char str[64];
//
//    fread(str,sizeof(str),1,pf);
//    printf("%s",str);
//
//    return 0;
//}
//
//int main()
//{
//
//    FILE* pf = fopen("log.txt","r");
//    char str[64];
//
//    while(fgets(str,sizeof(str),pf) != NULL)
//    printf("%s",str);
//
//    fclose(pf);
//    return 0;
//}
//
//
//int main()
//{
//
//    FILE* pf = fopen("log.txt","r");
//    char str[64];
//
//    while(fscanf(pf,"%s",str) != EOF)
//    {
//        printf("%s ",str);
//    }
//    printf("\n");
//
//    fclose(pf);
//    return 0;
//}
//
//
//int main()
//{
//    
//    FILE* pf = fopen("log.txt","w");
//    
//    const char* a = "hello fwrite\n";
//    fwrite(a,strlen(a),1,pf);
//
//    const char* b = "hello fprintf\n";
//    fprintf(pf,b);
//    fprintf(pf,"%s",b);;
//
//    const char* c = "hello puts\n";
//    fputs(c,pf);
//
//    fclose(pf);
//    return 0;
//}
